In many network systems, such as packet switched networks (e.g., Ethernet networks), it is often desirable for a single end station to send the same data to multiple other end stations on the network. For example, in a conventional e-mail systern, a user may desire to send the same e-mail message to four different users connected to the e-mail system.
In an packet switched network, a switch makes the forwarding decision when it receives frames of data from an end station through a port of the switch. If the frame is to be transmitted to a number of end stations, the switch must make the forwarding decision to forward the frame to the correct ports. One concern in such systems is to ensure that the correct number of copies of the frame are transmitted. This concern is especially difficult to satisfy if the switch has a number of ports through which the information can be transmitted. For example, if copies of the frame are being transmitted simultaneously from three different ports of the switch, maintaining an accurate count of the number of copies that have been transmitted is a problem.
It is also important to maintain an accurate count of the number of copies that have been transmitted so that the switch is made aware of when resources used to temporarily hold the data may be reused to store other data. If this information is not provided on a timely basis, there may be unnecessary congestion and contention for the resources to store the data.